package com.zhuss.order.db.dao.ext;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.bo.order.order.SearchOrderRefundBo;
import com.zhuss.bean.vo.order.order.DetailOrderRefundVo;
import com.zhuss.bean.vo.order.order.ListOrderRefundVo;
import com.zhuss.order.db.dao.gen.OrderRefundMapper;
import com.zhuss.order.db.entity.OrderRefund;

/**
 * @description: 退款订单数据库Dao
 * @author: zhushanshuo
 * @create: Fri Jan 15 21:22:09 CST 2021
 **/

@Mapper
public interface OrderRefundDao extends OrderRefundMapper {
	
	void create(OrderRefund record);
	
	void delete(OrderRefund record);
	
	void refreshStatus(@Param ("orderRefundNo") String orderRefundNo, @Param ("status") Integer status, @Param("wxRefundId") String wxRefundId, @Param("modifier") String modifier, @Param("modifierId") Long modifierId, @Param("modifyTime") Date modifyTime);

	OrderRefund getByOrderRefundNo(@Param("orderRefundNo") String orderRefundNo);
	
	List<String> listOrderRefundNoTop100(@Param("statusList") List<Integer> statusList, @Param("today") Date today);
	
	List<OrderRefund> listAll();

	List<OrderRefund> listById(@Param("orderRefundIdList") List<Long> orderRefundIdList);
	
	List<OrderRefund> listByName(@Param("name") String name);
	
	List<ListOrderRefundVo> list(SearchOrderRefundBo bo);
	
	Integer countList(SearchOrderRefundBo bo);

	DetailOrderRefundVo detail(@Param("orderRefundId") Long orderRefundId);

}
